/**
 * @file usertempconf.h
 * @author your name (you@domain.com)
 * @brief 用户配置模板，使用时拷贝该文件并改名为userconf.h
 * @version 0.1
 * @date 2025-05-29
 *
 * @copyright Copyright (c) 2025
 *
 */
#ifndef USERTEMPCONF_H
#define USERTEMPCONF_H
#include <stddef.h>
#include <stdint.h>
#include "util.h"
/**/
#define Group_Num 8          // 组数
#define AI_Num 20            // 模拟量数量
#define MODULE_MAX 8         // 配置模块数
#define CAN_TIME_OUT_MS 5000 // 扩展模块通讯超时5秒
#define COUNTER_NUM 6        // 脉冲计数 路数
#define PWM_NUM 0            // 脉冲输出 路数
#define auchByte_00_Num 512  // 0区数量
#define auchByte_10_Num 512  // 1区数量
#define auchByte_30_Num 512  // 4区数量
#define auchByte_40_Num 512  // 3区数量
#define WAITFOR_SIZE 200     // waitfor数量
#define START_FREQ 200.0f    // 步进电机启动速度（Hz）

// 用户自定义配置结构体预留4K 0xEBFF-0xFBFF

#define FRAM_DATA_ADDR_CUSTOM_CONF 0xEBFF
typedef struct {
  uint8_t  user1[256];
  int8_t   user2[256];
  uint32_t kk[20];
} CUSTOM_CONF;

#define CUSTOM_CONF_SIZE (sizeof(CUSTOM_CONF))

STATIC_ASSERT(sizeof(CUSTOM_CONF) <= 0x1000, CUSTOM_CONF_TOO_LARGE_4K);
extern CUSTOM_CONF g_CUSTOM_CONF;
extern CUSTOM_CONF shadow_copy_custom_conf;
#endif
